﻿using System;
namespace Kis.Xroad.Eu {
    
    
    [System.SerializableAttribute()]
    public partial class XsdMinOccursMaxOccursUnbounded {
        
        private System.Collections.Generic.List<System.DateTime?> @__builtInMin1MazUnboundedNil = new System.Collections.Generic.List<System.DateTime?>();
        
        private System.Collections.Generic.List<System.DateTime> @__builtInMin1MazUnboundedNonNil = new System.Collections.Generic.List<System.DateTime>();
        
        private System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender> @__udfMin0MazUnboundedNonNil = new System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender>();
        
        private System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender> @__udfMin0MazUnboundedNil = new System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender>();
        
        public XsdMinOccursMaxOccursUnbounded() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public XsdMinOccursMaxOccursUnbounded(System.Collections.Generic.List<System.DateTime?> @builtInMin1MazUnboundedNil, System.Collections.Generic.List<System.DateTime> @builtInMin1MazUnboundedNonNil, System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender> @udfMin0MazUnboundedNonNil, System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender> @udfMin0MazUnboundedNil) {
            this.@__builtInMin1MazUnboundedNil = @builtInMin1MazUnboundedNil;
            this.@__builtInMin1MazUnboundedNonNil = @builtInMin1MazUnboundedNonNil;
            this.@__udfMin0MazUnboundedNonNil = @udfMin0MazUnboundedNonNil;
            this.@__udfMin0MazUnboundedNil = @udfMin0MazUnboundedNil;
        }
        
        /// <summary>
        /// Required parameters
        /// </summary>
        public XsdMinOccursMaxOccursUnbounded(System.Collections.Generic.List<System.DateTime> @builtInMin1MazUnboundedNonNil) {
            this.@__builtInMin1MazUnboundedNonNil = @builtInMin1MazUnboundedNonNil;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected XsdMinOccursMaxOccursUnbounded(XsdMinOccursMaxOccursUnbounded @xsdMinOccursMaxOccursUnbounded) {
            this.@__builtInMin1MazUnboundedNil = @xsdMinOccursMaxOccursUnbounded.BuiltInMin1MazUnboundedNil;
            this.@__builtInMin1MazUnboundedNonNil = @xsdMinOccursMaxOccursUnbounded.BuiltInMin1MazUnboundedNonNil;
            this.@__udfMin0MazUnboundedNonNil = @xsdMinOccursMaxOccursUnbounded.UdfMin0MazUnboundedNonNil;
            this.@__udfMin0MazUnboundedNil = @xsdMinOccursMaxOccursUnbounded.UdfMin0MazUnboundedNil;
        }
        
        public virtual System.Collections.Generic.List<System.DateTime?> BuiltInMin1MazUnboundedNil {
            get {
                return this.@__builtInMin1MazUnboundedNil;
            }
            set {
                this.@__builtInMin1MazUnboundedNil = value;
            }
        }
        
        public virtual System.Collections.Generic.List<System.DateTime> BuiltInMin1MazUnboundedNonNil {
            get {
                return this.@__builtInMin1MazUnboundedNonNil;
            }
            set {
                this.@__builtInMin1MazUnboundedNonNil = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender> UdfMin0MazUnboundedNonNil {
            get {
                return this.@__udfMin0MazUnboundedNonNil;
            }
            set {
                this.@__udfMin0MazUnboundedNonNil = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender> UdfMin0MazUnboundedNil {
            get {
                return this.@__udfMin0MazUnboundedNil;
            }
            set {
                this.@__udfMin0MazUnboundedNil = value;
            }
        }
    }
}
